1. Field of the Invention
The present invention relates to a remote loading execution method, a remote loading execution system, a data processing apparatus, a managing apparatus and a computer-readable recording medium for easily and safely constructing a client environment in a client/server configuration.
2. Description of the Related Art
Construction of an environment at a client, in the form of a personal computer or the like, is carried out by installing programs one by one in a stand-alone state, or by selecting programs one by one from a server and installing them.
Recently, there have been available a structure wherein a client is turned on by a command from a server, for example, WoL (Wake On LAN) wherein a remote client is turned on by sending a packet thereto, and a structure wherein a client requests connection to a server immediately upon turning-on of the client, for example, PXE (Preboot execution Environment) wherein a client requests connection to a server before an operating system is booted in the client in the server/client environment (in this case, however, a network adapter of the client requires a dedicated ROM).
By utilizing the foregoing WoL and PXE, a single program can be installed by remote loading without any operation at a side of a client.
However, when installing a program which requires a reboot during installation (including a case of installing a plurality of programs), a manual operation by a user is required at a side of a client after the reboot. Thus, even if the foregoing structures are used, it is impossible to accomplish the remote loading.
Further, during the user""s manual operation, it may happen that an install log obtained up to then in the client is lost due to a reboot, resulting in an endless loop of repeating an install operation from the beginning after the reboot. In that event, the user should carry out an operation for stopping it, which, however, is difficult for a person having no technical knowledge about it.
Accordingly, the requirement of the manual operation on the client side imposes a burden on a user having no relevant technical knowledge or experience. This lowers the merit of the service, and further, may require dispatch of a skilled person thereby to induce labor and cost. Further, since the install state of the client can not be known, the reliability of the client environment construction in the client/server configuration may also be lowered. Particularly, the remote loading operation of this type may be required when the client is down to require recovery. Thus, it is desired that the recovery can be achieved fully automatically through an operation from the server.
Therefore, it is an object of the present invention to provide an improved program install technique. More specifically, the present invention aims to provide a remote loading execution method and a remote loading execution system, wherein all operation environment of a client is provided in a server so that even if there exists such a program requiring a reboot upon installation thereof, the program can be automatically installed into the client by a command from the server, thereby to ensure construction of a client environment in a client/server configuration. The present invention also aims to provide a data processing apparatus as the client and a managing apparatus as the server, and further provide a computer-readable recording medium for realizing the foregoing client or server using a computer.
According to one aspect of the present invention, there is provided a remote loading execution method, wherein an agent executes installation into a client by referring to a managing record recording an install execution state of the client and according to execution control information, the agent downloaded into the client before starting the installation or after a reboot.
According to this structure, the agent implements the installation into the client by referring to the managing record of the install execution state of the client and according to the execution control information. After the reboot, the agent is again downloaded into the client so as to continue the installation into the client by referring to the managing record including a reboot log and according to a continuation of the execution control information to be executed after the reboot. Therefore, even if a reboot is requested, the installation can be continued without the need for a manual operation on the side of the client.
The agent is an independent program for executing a process on the side of a particular apparatus into which the agent is downloaded, according to execution commands prescribed in the execution control information. In this structure, the agent executes installation of various kinds of programs into the client.
The execution control information is definition information, such as an execution script, setting execution commands (setup commands) necessary for performing installation into the client, which is read and executed by the agent on the side of the client. When the agent executes installation according to the execution control information, a program (including an operating system) to be installed into the client should be provided on the side of the server. The installation of the program includes a case wherein an install image file of the program is provided in advance on the side of the server and then copied into the client by downloading.
In the foregoing structure, it is necessary that the managing record be updated according to the install execution state while the agent executes the installation into the client. Without such updating, since the agent once stops execution of the installation according to the execution control information when a reboot is requested, the agent, after the reboot, refers to a record before the reboot (a record not updated) so as to start again the installation returning to the beginning of the execution control information, thus resulting in an endless loop.
Through updating of the managing record, the server can know the progressing state of the installation into the client. Thus, the server can execute the centralized management so that install errors and troubles can be properly dealt with to provide highly reliable environments.
According to another aspect of the present invention, there is provided a remote loading execution method, wherein, upon installing a program requiring a reboot from a server into a client, an agent downloaded into the client executes installation of the program by referring to a managing record recording an install execution state of the client and according to execution control information and updates the managing record according to an execution state of the installation, and wherein the agent downloaded again into the client after the reboot continues the installation by referring to the managing record and according to the execution control information and updates the managing record according to an execution state of the installation after the reboot.
Through the updating, a log of the install execution state before the reboot remains in the managing record. Accordingly, the agent downloaded again into the client after the reboot can continue the installation into the client by referring to the updated managing record and according to a continuation of the execution control information to be executed after the reboot. When a further reboot is requested (one program may require a plurality of reboots, or a plurality of reboots are requested during continuous installation of a plurality of programs), the managing record is further updated according to an install execution state after the reboot, in addition to continuing the installation.
The execution control information may be provided on the side of the server. In this case, upon executing installation (including a case of installation after a reboot), the agent accesses the server to refer to the execution control information and executes the installation according to it. An advantage of this structure resides in that even if failure occurs in the client during installation, the execution control information is prevented from being lost or altered, thereby avoiding an influence of failure of the client onto the server.
The execution control information may be provided in the server and downloaded into the client before starting the installation or after the reboot. In this case, the agent can execute the installation according to the execution control information provided in the client. Accordingly, since the agent can refer to the execution control information without accessing the server, the install operation efficiency can be enhanced.
The managing record recording the install execution state of the client may be provided in the server and updated according to the install execution state of the client. In this case, the agent accesses the server so as to update the managing record just before starting installation, during installation or per completion of installation. An advantage of this structure resides in that even if failure occurs in the client during the installation, a managing record thereof remains in the server so that when restarting the installation afterward, the installation can be implemented safely.
It may be arranged that the managing record is provided in the server, downloaded into the client, updated in the client according to the install execution state of the client, returned to the server before the reboot, downloaded again into the client after the reboot, and then updated in the client according to the install execution state of the client after the reboot. Since the updated managing record is once returned to the server before the reboot and downloaded again into the client after the reboot and since the agent refers to such an updated managing record to continue the installation, the installation can be executed according to a continuation of the execution control information to be executed after the reboot.
When a reboot is requested during the installation in the client, booting by the client itself is necessary. Thus, if the client has been booted by the server (in case of remote boot), setting should be changed to allow the booting by the client itself (allow a local boot). The change of the setting to the local boot is implemented on the side of the server.
According to another aspect of the present invention, there is provided a remote loading execution system comprising a server having a managing record file for recording an install execution state of a client, a control file for storing execution control information prescribing an execution process of installation into the client, an agent which executes installation into the client according to the execution control information stored in the control file, and an install file to be installed into the client by the agent; and the client into which the agent is downloaded, wherein the agent is downloaded from the server into the client before installation, executes installation of the install file into the client by referring to the managing record file and according to the execution control information, updates the managing record file according to an execution state of the installation into the client and, when downloaded again into the client after a reboot, continues the installation of the install file by referring to the managing record file and according to the execution control information, and updates the managing record file according to an execution state of the installation after the reboot.
The install file represents a file of a program or a group of programs to be installed into the client, and may be a file of an operating system or application programs. The install file may be in the form of an image file which is provided in advance in the server and then copied into the client by downloading.
It may be arranged that the control file is provided in the server.
It may be arranged that the control file is downloaded into the client before starting the installation or after the reboot.
It may be arranged that the managing record file is downloaded from the server into the client and updated according to an execution state of the installation into the client, and that the managing record file is returned to the server before the reboot, downloaded again into the client after the reboot, and updated according to an execution state of the installation into the client after the reboot.
It may be arranged that the client is set to boot by itself upon the reboot.
According to another aspect of the present invention, there is provided a data processing apparatus which accesses another apparatus managing a program thereby to install the program thereinto, the data processing apparatus comprising an access processing section for accessing execution control information prescribing an install execution procedure; a record control section for causing an execution state of installation Into the data processing apparatus to be recorded; and an install executing section for executing installation into the data processing apparatus according to the recorded execution state of the installation and the execution control information.
According to this structure, the access processing section accesses the execution control information, the install executing section executes installation of the program according to the execution control information and the install execution state recorded by the record control section, and the record control section updates the record according to the install execution state. Since the record is updated by the record control section and since the install executing section executes installation according to the updated record, even when installing a program requiring a reboot, the installation can be continued after the reboot. Thus, it is possible to access another apparatus and automatically install such a program into the data processing apparatus.
According to another aspect of the present invention, there is provided a managing apparatus which manages a program and supplies the program in response to a request from another apparatus, the managing apparatus comprising a transmit section for transmitting to the another apparatus an agent which executes installation into the another apparatus; a control information managing section for allowing the agent to refer to execution control information prescribing an install execution process in response to an access from the agent; a record managing section for notifying an execution state of installation into the another apparatus and updating a record of the execution state of the installation in response to an access from the agent; and a supply section for supplying to the another apparatus the program in response to a request from the agent.
According to this structure, the transmit section sends the agent to another apparatus, and the supply section sends the program to the agent in response to a request from the agent functioning in another apparatus, so that the agent refers to the execution control information managed by the control information managing section and the install execution state recorded by the record managing section thereby to execute the installation into another apparatus. In this case, since the record managing section updates the record of the install execution state according to the execution state of the installation into another apparatus and since the agent implements the installation by referring to the record, even when installing a program requiring a reboot, the agent can continue the installation after the reboot.
According to another aspect of the present invention, there is provided a computer-readable recording medium storing a program which causes a computer to execute a step of referring to execution control information prescribing an install execution process; a step of recording an install execution state; and a step of requesting to another apparatus a supply of a program to be installed and executing installation thereof according to the execution control information and the install execution state.
According to this structure, an agent functions by causing the computer to read and execute the program recorded in the recording medium. By referring to the execution control information and the install execution state, the agent requests a supply of a program to another apparatus and executes installation of the supplied program. In this event, since the agent causes the record of the install execution state to be updated and executes the installation by referring to it, even when installing such a program requiring a reboot, the agent can continue the installation after the reboot.
According to another aspect of the present invention, there is provided a computer-readable recording medium storing a program which causes a computer to execute a step of sending to another apparatus an agent which executes installation into the another apparatus; a step of allowing the agent to refer to execution control information in response to an access from the agent; a step of notifying an execution state of installation into the another apparatus and updating a record of the execution state of the installation in response to an access from the agent; and a step of supplying to the another apparatus a program requested by the agent.
According to this structure, the computer functions as a server by causing the computer to read and execute the program recorded in the recording medium. In this case, the computer sends the agent to another apparatus, sends a program to the agent in response to a request from the agent functioning in another apparatus, and causes the agent to refer to the execution control information and the record of the install execution state thereby to execute installation of the program in another apparatus. In this event, since the agent causes the record of the install execution state to be updated and executes the installation by referring to it, even when installing such a program requiring a reboot, the agent can continue the installation after the reboot.